package com.tyut.musicdreamer.framework.starter.convention.respstatus;

import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.ToString;

/**
 * 全局响应状态枚举
 */
@Getter
@ToString
@AllArgsConstructor
public enum RespStatusEnum implements RespStatus {

    /**
     * 错误
     */
    ERROR_500("500", "服务器未知错误"),
    ERROR_400("400", "错误请求"),

    /**
     * OK：操作成功
     */
    SUCCESS("0", "操作成功"),
    FAIL("-1", "操作失败"),


    /**
     * 客户端
     */
    CLIENT_BAD_PARAMETERS("A0001", "客户端参数错误"),

    /**
     * 系统
     */
    SERVICE_ERROR("B0001", "服务执行异常"),
    RESOURCE_NOT_FOUND("B0404", "资源不存在"),

    /**
     * 第三方
     */
    REMOTE_ERROR("C0001", "远程服务调用异常"),

    IDEMPOTENT_TOKEN_DELETE_ERROR("D0001", "幂等Token删除异常"),


    IDEMPOTENT_TOKEN_NULL_ERROR("D0002", "幂等Token为空"),


    ;




    /**
     * 响应状态
     */
    private final String code;
    /**
     * 响应编码
     */
    private final String msg;

    @Override
    public String code() {
        return code;
    }

    @Override
    public String message() {
        return msg;
    }
}
